package org.byqh.dqeai.entity;

import com.easy.query.core.annotation.Column;
import com.easy.query.core.annotation.EntityFileProxy;
import com.easy.query.core.annotation.Table;
import com.easy.query.core.proxy.ProxyEntityAvailable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.byqh.dqeai.entity.proxy.SysFileProxy;

import java.time.LocalDateTime;

/**
 * 系统文件管理 实体类。
 *
 * @author easy-query-plugin automatic generation
 * @since 1.0
 */
@Data
@Schema(name = "SysFile", description = "系统文件管理")
@Table(value = "SYS_FILE")
@EntityFileProxy
public class SysFile implements ProxyEntityAvailable<SysFile, SysFileProxy> {

    /**
     * 文件ID
     */
    @Schema(description = "文件ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @Column(primaryKey = true, value = "FILE_ID")
    private String fileId;

    /**
     * 文件名称
     */
    @Schema(description = "文件名称")
    @Column(value = "FILE_NAME")
    private String fileName;

    /**
     * 父ID
     */
    @Schema(description = "父ID")
    @Column(value = "PARENT_FILE_ID")
    private String parentFileId;

    /**
     * 文件分类ID
     */
    @Schema(description = "文件分类ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @Column(value = "CATEGORY_ID")
    private String categoryId;

    /**
     * Folder,File
     */
    @Schema(description = "Folder,File")
    @Column(value = "FILE_TYPE")
    private String fileType;

    /**
     * 文件大小
     */
    @Schema(description = "文件大小")
    @Column(value = "FILE_SIZE")
    private Long fileSize;

    /**
     * 文件版本号
     */
    @Schema(description = "文件版本号")
    @Column(value = "FILE_VER")
    private String fileVer;

    /**
     * 0为不需要注册;1需要注册，默认为0
     */
    @Schema(description = "0为不需要注册;1需要注册，默认为0")
    @Column(value = "REGSVR")
    private String regsvr;

    /**
     * 0为不允许覆盖;1为允许覆盖，默认为1
     */
    @Schema(description = "0为不允许覆盖;1为允许覆盖，默认为1")
    @Column(value = "OVERRIDE")
    private String override;

    @Column(value = "UPDATE_DATE")
    private LocalDateTime updateDate;

    /**
     * 文件校验
     */
    @Schema(description = "文件校验")
    @Column(value = "FILE_HASH")
    private String fileHash;

    @Column(value = "AUTORUN")
    private String autorun;

    @Column(value = "REMARK")
    private String remark;
}
